package com.rds.system.service.impl;

import com.rds.common.utils.DateUtils;
import com.rds.system.domain.RdaTypeAttribute;
import com.rds.system.mapper.RdaTypeAttributeMapper;
import com.rds.system.service.IRdaTypeAttributeService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 类型字段属性Service业务层处理
 *
 * @author rds
 * @date 2021-10-19
 */
@Service
public class RdaTypeAttributeServiceImpl implements IRdaTypeAttributeService
{
    @Autowired
    private RdaTypeAttributeMapper rdaTypeAttributeMapper;

    /**
     * 查询类型字段属性
     *
     * @param id 类型字段属性ID
     * @return 类型字段属性
     */
    @Override
    public RdaTypeAttribute selectRdaTypeAttributeById(Long id)
    {
        return rdaTypeAttributeMapper.selectRdaTypeAttributeById(id);
    }

    /**
     * 查询类型字段属性列表
     *
     * @param rdaTypeAttribute 类型字段属性
     * @return 类型字段属性
     */
    @Override
    public List<RdaTypeAttribute> selectRdaTypeAttributeList(RdaTypeAttribute rdaTypeAttribute)
    {
        return rdaTypeAttributeMapper.selectRdaTypeAttributeList(rdaTypeAttribute);
    }

    /**
     * 根据表名查询类型字段属性列表
     *
     * @param tableName 表名
     * @return 类型字段属性集合
     */
    public List<RdaTypeAttribute> selectAttributeByTableName(@Param("tableName")String tableName)
    {
        return rdaTypeAttributeMapper.selectAttributeByTableName(tableName);
    };

    /**
     * 新增类型字段属性
     *
     * @param rdaTypeAttribute 类型字段属性
     * @return 结果
     */
    @Override
    public int insertRdaTypeAttribute(RdaTypeAttribute rdaTypeAttribute)
    {
        rdaTypeAttribute.setCreateTime(DateUtils.getNowDate());
        rdaTypeAttribute.setModifyTime(DateUtils.getNowDate());
        return rdaTypeAttributeMapper.insertRdaTypeAttribute(rdaTypeAttribute);
    }

    /**
     * 修改类型字段属性
     *
     * @param rdaTypeAttribute 类型字段属性
     * @return 结果
     */
    @Override
    public int updateRdaTypeAttribute(RdaTypeAttribute rdaTypeAttribute)
    {
        return rdaTypeAttributeMapper.updateRdaTypeAttribute(rdaTypeAttribute);
    }

    /**
     * 批量删除类型字段属性
     *
     * @param ids 需要删除的类型字段属性ID
     * @return 结果
     */
    @Override
    public int deleteRdaTypeAttributeByIds(Long[] ids)
    {
        return rdaTypeAttributeMapper.deleteRdaTypeAttributeByIds(ids);
    }

    /**
     * 删除类型字段属性信息
     *
     * @param id 类型字段属性ID
     * @return 结果
     */
    @Override
    public int deleteRdaTypeAttributeById(Long id)
    {
        return rdaTypeAttributeMapper.deleteRdaTypeAttributeById(id);
    }
}
